//
// Created by root on 22-10-28.
//

#ifndef VIN_TEST_VISUALINERTIALODOMETRY_H
#define VIN_TEST_VISUALINERTIALODOMETRY_H
#include<iostream>
#include<vector>
#include<set>
#include<string>
#include <ros/ros.h>
#include <opencv2/opencv.hpp>
#include <eigen3/Eigen/Dense>
#include <std_msgs/Bool.h>
#include <sensor_msgs/Image.h>
#include <sensor_msgs/PointCloud.h>
#include <sensor_msgs/image_encodings.h>
#include <message_filters/subscriber.h>
#include <cv_bridge/cv_bridge.h>
#include "feature_tracker.h"
#include "Parameters.h"

using namespace std;
using namespace cv;

namespace VisualInertialOdometry{

    void img_callback();

    class VIO{
    public:
        VIO();
        void process();
        bool processImage(const sensor_msgs::ImageConstPtr &img_msg);
        bool PUB_THIS_FRAME=false;
        bool CAMERA_INIT=false;
        ros::Publisher pub_img;
        FeatureTracker trackData;

    };




}


#endif //VIN_TEST_VISUALINERTIALODOMETRY_H
